package com.yuyou.fn.educational.entity;

import com.github.wens.mybatisplus.annotations.TableField;
import com.github.wens.mybatisplus.annotations.TableId;
import com.github.wens.mybatisplus.annotations.TableName;
import com.github.wens.mybatisplus.examples.Example;

import java.io.Serializable;
import java.util.Date;

/**
 *
 * 优惠
 *
 */
@TableName(value = "discount")
public class Discount implements Serializable {

	@TableField(exist = false)
	private static final long serialVersionUID = 1L;

	public static Example<Discount> createExample(){
		return new Example<Discount>(Discount.class);
	}

	/**  */
	@TableId(value = "discount_id")
	private Long discountId;

	/**  */
	@TableField(value = "discount_rule_id")
	private Long discountRuleId;

	/** 优惠规则名称 */
	@TableField(value = "rule_name")
	private String ruleName;

	/** 优惠名称 */
	private String name;

	/**  */
	@TableField(value = "category_id")
	private Long categoryId;

	/** 优惠分类 */
	@TableField(value = "category_name")
	private String categoryName;

	/** 优惠说明 */
	private String remark;

	/** 启用开关 0:关闭 1:启用 */
	@TableField(value = "switch_status")
	private Integer switchStatus;

	/** 优惠方式 0:折扣 1:金额 */
	@TableField(value = "discount_type")
	private Integer discountType;

	/** 优惠计算函数 */
	@TableField(value = "cal_function")
	private String calFunction;

	/** 变量参数 */
	private String params;

	/** 生效开始时间 */
	@TableField(value = "effective_start_time")
	private Date effectiveStartTime;

	/** 生效结束时间 */
	@TableField(value = "effective_end_time")
	private Date effectiveEndTime;

	/**  */
	@TableField(value = "area_team_id")
	private Long areaTeamId;

	/** 区域名称 */
	@TableField(value = "area_team_name")
	private String areaTeamName;

	/** 适用业务组 */
	@TableField(value = "bus_team_ids")
	private String busTeamIds;

	/** 适用期 */
	@TableField(value = "period_ids")
	private String periodIds;

	/** 适用产品 */
	@TableField(value = "product_ids")
	private String productIds;

	/** 适用课程 */
	@TableField(value = "course_template_ids")
	private String courseTemplateIds;

	/** 适用年级 */
	@TableField(value = "grade_ids")
	private String gradeIds;

	/** 适用科目 */
	@TableField(value = "subject_ids")
	private String subjectIds;

	/** 不可同时优惠的规则 */
	@TableField(value = "exclusive_discount_ids")
	private String exclusiveDiscountIds;

	/** 不可同时优惠的规则 */
	@TableField(value = "exclusive_discount_names")
	private String exclusiveDiscountNames;

	/**  */
	@TableField(value = "create_time")
	private Date createTime;

	/**  */
	@TableField(value = "update_time")
	private Date updateTime;

	private Integer priority ;

	public Integer getPriority() {
		return priority;
	}

	public void setPriority(Integer priority) {
		this.priority = priority;
	}

	public Long getDiscountId() {
		return this.discountId;
	}

	public void setDiscountId(Long discountId) {
		this.discountId = discountId;
	}

	public Long getDiscountRuleId() {
		return this.discountRuleId;
	}

	public void setDiscountRuleId(Long discountRuleId) {
		this.discountRuleId = discountRuleId;
	}

	public String getRuleName() {
		return this.ruleName;
	}

	public void setRuleName(String ruleName) {
		this.ruleName = ruleName;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Long getCategoryId() {
		return this.categoryId;
	}

	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}

	public String getCategoryName() {
		return this.categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public String getRemark() {
		return this.remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getSwitchStatus() {
		return this.switchStatus;
	}

	public void setSwitchStatus(Integer switchStatus) {
		this.switchStatus = switchStatus;
	}

	public Integer getDiscountType() {
		return this.discountType;
	}

	public void setDiscountType(Integer discountType) {
		this.discountType = discountType;
	}

	public String getCalFunction() {
		return this.calFunction;
	}

	public void setCalFunction(String calFunction) {
		this.calFunction = calFunction;
	}

	public String getParams() {
		return this.params;
	}

	public void setParams(String params) {
		this.params = params;
	}

	public Date getEffectiveStartTime() {
		return this.effectiveStartTime;
	}

	public void setEffectiveStartTime(Date effectiveStartTime) {
		this.effectiveStartTime = effectiveStartTime;
	}

	public Date getEffectiveEndTime() {
		return this.effectiveEndTime;
	}

	public void setEffectiveEndTime(Date effectiveEndTime) {
		this.effectiveEndTime = effectiveEndTime;
	}

	public Long getAreaTeamId() {
		return this.areaTeamId;
	}

	public void setAreaTeamId(Long areaTeamId) {
		this.areaTeamId = areaTeamId;
	}

	public String getAreaTeamName() {
		return this.areaTeamName;
	}

	public void setAreaTeamName(String areaTeamName) {
		this.areaTeamName = areaTeamName;
	}

	public String getBusTeamIds() {
		return this.busTeamIds;
	}

	public void setBusTeamIds(String busTeamIds) {
		this.busTeamIds = busTeamIds;
	}

	public String getPeriodIds() {
		return this.periodIds;
	}

	public void setPeriodIds(String periodIds) {
		this.periodIds = periodIds;
	}

	public String getProductIds() {
		return this.productIds;
	}

	public void setProductIds(String productIds) {
		this.productIds = productIds;
	}

	public String getCourseTemplateIds() {
		return this.courseTemplateIds;
	}

	public void setCourseTemplateIds(String courseTemplateIds) {
		this.courseTemplateIds = courseTemplateIds;
	}

	public String getGradeIds() {
		return this.gradeIds;
	}

	public void setGradeIds(String gradeIds) {
		this.gradeIds = gradeIds;
	}

	public String getSubjectIds() {
		return this.subjectIds;
	}

	public void setSubjectIds(String subjectIds) {
		this.subjectIds = subjectIds;
	}

	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getExclusiveDiscountIds() {
		return exclusiveDiscountIds;
	}

	public void setExclusiveDiscountIds(String exclusiveDiscountIds) {
		this.exclusiveDiscountIds = exclusiveDiscountIds;
	}

	public String getExclusiveDiscountNames() {
		return exclusiveDiscountNames;
	}

	public void setExclusiveDiscountNames(String exclusiveDiscountNames) {
		this.exclusiveDiscountNames = exclusiveDiscountNames;
	}

}
